package com.lancoo.ccas53.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 教务获取教学计划,相当于专业版本
 * </p>
 *
 * @author quin.song
 * @since 2024-05-20
 */
@Data
@Accessors(chain = true)
@TableName("plan_teaching")
@EqualsAndHashCode(of = {"taskId", "baseTeachingPlanId"})
@ApiModel(value = "PlanTeaching对象", description = "教务获取教学计划,相当于专业版本")
public class PlanTeaching implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "teaching_plan_id", type = IdType.AUTO)
    private Long teachingPlanId;

    @ApiModelProperty("基础平台教学计划id")
    private String baseTeachingPlanId;

    private Integer taskId;

    private String gradeId;

    @ApiModelProperty("所属年级")
    private String gradeName;

    private String baseMajorId;

    private String majorName;

    @ApiModelProperty("方向名字")
    private String majorVersionName;

    @ApiModelProperty("1:主修  2：辅修")
    private Integer studyNature;

    private String baseCollegeId;

    private String collegeName;

    @ApiModelProperty("学生人数")
    private Integer studentCount;

    @ApiModelProperty("操作状态 0未开启  1已开启")
    private Integer isEnable;

    @TableField(exist = false)
    @ApiModelProperty("培养方案名称")
    private String teachingPlanName;

    @TableField(exist = false)
    @ApiModelProperty("所属校区")
    private String campusName;

    @TableField(exist = false)
    private Integer campusId;

    @TableField(exist = false)
    @ApiModelProperty("生成状态 0未生成 1已生成")
    private Integer status;

    @TableField(exist = false)
    @ApiModelProperty(value = "学生id")
    private List<Long> studentIds = new ArrayList<>();

    @TableField(exist = false)
    @ApiModelProperty("课程名称")
    private String courseName;
}
